home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / CUCD / Programming / DiceSource / src / vmake / enfhit.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-09-09  |  3.0 KB  |  144 lines

  1. /*
  2.  *    (c)Copyright 1992-1997 Obvious Implementations Corp.  Redistribution and
  3.  *    use is allowed under the terms of the DICE-LICENSE FILE,
  4.  *    DICE-LICENSE.TXT.
  5.  */
  6. # 1 "VMake.c" 0
  7. typedef void        *APTR;
  8. typedef long  LONG;
  9. typedef unsigned long ULONG;
  10. typedef unsigned long LONGBITS;
  11. typedef short  WORD;
  12. typedef unsigned short UWORD;
  13. typedef unsigned short WORDBITS;
  14. typedef signed char BYTE;
  15. typedef unsigned char UBYTE;
  16. typedef unsigned char BYTEBITS;
  17. typedef short  RPTR;
  18. typedef unsigned char  *STRPTR;
  19. typedef short  SHORT;
  20. typedef unsigned short USHORT;
  21. typedef short  COUNT;
  22. typedef unsigned short UCOUNT;
  23. typedef ULONG  CPTR;
  24. typedef float  FLOAT;
  25. typedef double  DOUBLE;
  26. typedef short  BOOL;
  27. typedef unsigned char TEXT;
  28. typedef unsigned int size_t;
  29. typedef long  BPTR;
  30. typedef long  BSTR;
  31.  
  32. struct DiskObject {
  33.    UWORD  do_Magic;
  34.    UWORD  do_Version;
  35.    UBYTE  do_Type;
  36.    char *  do_DefaultTool;
  37.    char **  do_ToolTypes;
  38.    LONG  do_CurrentX;
  39.    LONG  do_CurrentY;
  40.    struct DrawerData * do_DrawerData;
  41.    char *  do_ToolWindow;
  42.    LONG  do_StackSize;
  43.  };
  44.  
  45. struct Node {
  46.    struct  Node *ln_Succ;
  47.    struct  Node *ln_Pred;
  48.    UBYTE   ln_Type;
  49.    BYTE    ln_Pri;
  50.    char    *ln_Name;
  51. };
  52.  
  53. struct List {
  54.    struct  Node *lh_Head;
  55.    struct  Node *lh_Tail;
  56.    struct  Node *lh_TailPred;
  57.    UBYTE   lh_Type;
  58.    UBYTE   l_pad;
  59. };
  60.  
  61. struct MsgPort {
  62.    struct  Node mp_Node;
  63.    UBYTE   mp_Flags;
  64.    UBYTE   mp_SigBit;
  65.    void   *mp_SigTask;
  66.    struct  List mp_MsgList;
  67. };
  68.  
  69. struct Message {
  70.    struct  Node mn_Node;
  71.    struct  MsgPort *mn_ReplyPort;
  72.    UWORD   mn_Length;
  73. };
  74.  
  75. struct WBStartup {
  76.    struct Message sm_Message;
  77.    struct MsgPort * sm_Process;
  78.    BPTR  sm_Segment;
  79.    LONG  sm_NumArgs;
  80.    char *  sm_ToolWindow;
  81.    struct WBArg * sm_ArgList;
  82. };
  83.  
  84. struct WBArg {
  85.    BPTR   wa_Lock;
  86.    BYTE  *wa_Name;
  87. };
  88.  
  89. struct DateStamp {
  90.    LONG   ds_Days;
  91.    LONG   ds_Minute;
  92.    LONG   ds_Tick;
  93. };
  94.  
  95. struct FileInfoBlock
  96. {
  97.    LONG   fib_DiskKey;
  98.    LONG   fib_DirEntryType;
  99.    char   fib_FileName[108];
  100.    LONG   fib_Protection;
  101.    LONG   fib_EntryType;
  102.    LONG   fib_Size;
  103.    LONG   fib_NumBlocks;
  104.    struct DateStamp fib_Date;
  105.    char   fib_Comment[80];
  106.    char   fib_Reserved[36];
  107. };
  108.  
  109. LONG Examine( BPTR lock, struct FileInfoBlock *fileInfoBlock );
  110. extern char *strdup(const char *);
  111. extern int stricmp(const char *, const char *);
  112. extern size_t strlen(const char *);
  113. extern char *strcpy(char *, const char *);
  114.  
  115. int wbmain(wbs)
  116. struct WBStartup *wbs;
  117. {
  118.    struct DiskObject *dob;
  119.    int i;
  120.  
  121.    InitialFileName = strdup(wbs->sm_ArgList[i].wa_Name);
  122.    dob = GetDiskObject(wbs->sm_ArgList[i].wa_Name);
  123. }
  124.  
  125. int main(int argc, char **argv)
  126. {
  127.     char appwinbuff[256];
  128.     char *exttext;
  129.     int extlen;
  130.     int argnmln;
  131.     struct WBArg *argptr;
  132.     BYTE *argname;
  133.     char *p;
  134.     int l;
  135.  
  136.     if ((argnmln = strlen(argname)) > extlen);
  137.     if (!stricmp(argname + argnmln - extlen, exttext));
  138.     if (Examine(argptr->wa_Lock, &vmfib));
  139.     strcpy(appwinbuff, "/");
  140.     if (Examine(argptr->wa_Lock, &vmfib));
  141.     if (strlen(argptr->wa_Name) < (255-l))
  142.         strcpy(p, argptr->wa_Name);
  143. }
  144.